package stringbuilder01;
/**
 * StringBuilder原理
 */
public class StringBuilderDemo03 {
    public static void main(String[] args) {
        //method01();
        //1.初始化容量 字符+默认容量 例如"abc".length+16 = 19
        //2.判断存入的是不是Latin-1字符,是的话以单字节形式存储
        //3.byte[] value = new byte[3+16]
        //4.将"abc"追加到value数组中
        StringBuilder stringBuilder = new StringBuilder("abc");

        //1.初始化容量 字符+默认容量 例如"你好".length+16 = 19
        //2.判断存入的是不是纯Latin-1字符,不是的话以双字节形式存储
        //3.byte[] value = new byte[(16+2)*2]
        //4.将"你好"追加到value数组中,每相邻的两个元素(两个字节)代表一个字符
        StringBuilder stringBuilder1 = new StringBuilder("你好");

    }

    private static void method01() {
        StringBuilder stringBuilder = new StringBuilder();
        //相当于创建了一个新的容器
        //底层会默认创建一个大小为16个字节的字节数组
        //byte[] value = new byte[16]
        //通过这个容器来存储数据(以字节形式)
        //最后会调用默认的构造方法将该字节数组转化为字符串来输出
        stringBuilder.append("abc");
        stringBuilder.append(9);
        stringBuilder.append(5.7);
        System.out.println(stringBuilder);
    }
}
